# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：9.04进程编号的获取.py
# 开发时间：2021/4/27 17:43


import multiprocessing
# 1.导入包
import os
from time import *


def sing(singer='小明', sing_time=1):
    """唱歌任务"""

    # 获取当前进程编号
    print('sing进程编号：', os.getpid())
    # 获取其父进程编号
    print('sing父进程编号：', os.getppid())

    print(f'{singer}歌神，在唱歌ing')
    sleep(sing_time)
    print('sing over')


def dance(dancer, dance_time=1):
    """跳舞任务"""

    # 获取当前进程编号
    print('dance进程编号：', os.getpid())
    # 获取其父进程编号
    print('dance父进程编号：', os.getppid())

    print(f'{dancer}舞神，在跳舞ing')
    sleep(dance_time)
    print('dance over')


def main():
    sing_process = multiprocessing.Process(target=sing, args=('小明',))  # target指定函数名
    dance_process = multiprocessing.Process(target=dance, kwargs={'dancer': '毛毛', 'dance_time': 1})
    sing_process.start()
    dance_process.start()

    # 获取当前进程编号
    print('main进程编号：', os.getpid())
    # 获取其父进程编号
    print('main父进程编号：', os.getppid())


if __name__ == '__main__':
    begin_time = time()
    main()
    end_time = time()
    all_time = int(end_time - begin_time)

    # 获取当前进程编号
    print('if进程编号：', os.getpid())
    # 获取其父进程编号
    print('if父进程编号：', os.getppid())

    print(f'耗时{all_time}ms')
